|
Consistency in database systems refers to the requirement that any given database transaction must change affected data only in allowed ways. Any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof. This does not guarantee correctness of the transaction in all ways the application programmer might have wanted (that is the responsibility of application-level code) but merely that any programming errors cannot result in the violation of any defined rules. ==As an ACID guarantee== Consistency is one of the four guarantees that define ACID transactions; however, significant ambiguity exists about the nature of this guarantee. It is defined variously as: * The guarantee that any transactions started in the future necessarily see the effects of other transactions committed in the past〔http://webpages.cs.luc.edu/~pld/353/gilbert_lynch_brewer_proof.pdf "Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services"〕 * The guarantee that database constraints are not violated, particularly once a transaction commits〔(【引用サイトリンク】title=The ACID Model )〕〔(【引用サイトリンク】title=ACID properties )〕〔(【引用サイトリンク】title=What is ACID in Databases? - Definition from Techopedia )〕 * The guarantee that operations in transactions are performed accurately, correctly, and with validity, with respect to application semantics〔(【引用サイトリンク】title=ISO/IEC 10026-1:1998 - Information technology -- Open Systems Interconnection -- Distributed Transaction Processing -- Part 1: OSI TP Model )〕 As these various definitions are not mutually exclusive, it is possible to design a system that guarantees "consistency" in every sense of the word, as most relational database management systems in common use today arguably do. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Consistency (database systems)」の詳細全文を読む スポンサード リンク
|